1. Field of the Invention
The present invention relates to a control system, a control method, and a computer program which stably control multi-link structures, such as robots and characters, so that the balance of the structures may not be damaged, and particularly, to a control system, a control method, and a computer program which can be widely applied other than a planar motion without depending on a ZMP stability discrimination standard.
More specifically, the present invention relates to a control system, a control method, and a computer program which deal with a stabilizing standard in a generalized case which is not constrained by specific preconditions, and particularly, to a control system, a control method, and a computer program which realize a generalized stabilizing standard which does not depends on a contact state with an external world and a real-time numerical analysis method thereof.
2. Description of the Related Art
Attention is currently paid on applications of legged robots, such as humanoid robots and pet robots. The legged robots are more excellent than crawler-type robots in that they can realize a supple walking or traveling motion, such as going up or coming down stairs or climbing over obstacles.
Also, with improvements in the arithmetic capacity of a CPU (Central Processing Unit), or maturity of a 3D rendering technique or a dynamics simulation technique, a demand for high-reality character control which more faithfully simulates dynamic phenomena in a virtual world which deals with games or characters of human beings has been increasing.
These kinds of applications require a controller (hereinafter referred to as ‘stabilizer’) which stably controls multi-link structures, such as robots or characters, so that the balance of the structures may not be damaged.
For example, in the legged robots, a posture stabilization control system in which a ZMP (Zero Moment Point) becomes a standard for discriminating the stability of walking is widely known in the art. The ZMP theory is based on the ‘D'Alembert's Principle’ that the gravity and inertial force, and their moments which act from a walking system to a load surface are balanced with a floor reaction force and a reaction force moment which react from the road surface to the walking system. As a conclusion of the dynamic inference, a point, i.e., a ZMP where a pitch-axis moment and a roll-axis moment becomes zero exists inside a supporting polygon formed by a sole contact point on the ground and the road surface (for example, refer to ‘Legged Locomotion Robots’ written by Miomir Vukobratovic and ‘Walking Robots and Artificial Legs’ written by Ichiro Katou, et al. (published by Nikkan Kougyou Shinbun Inc.).
In target ZMP control, a movement is designed to obtain dynamic balance at every instant. Generation of a bipedal walking pattern based on the ZMP standard brings about advantages that the landing point of a sole can be set in advance, and kinematic constraint conditions of a toe according to the profile of a road surface can be easily considered.
For example, a walking control device for a bipedal-walking-type legged mobile robot which drives a leg joint so that the ZMP may be caused to coincide with a target value and which detects inclination of an upper body to drive the same leg joint so that the ZMP may be caused to coincide with a command value is proposed (for example, refer to JP-A-5-305579).
Also, a robot apparatus in which a walking control system is configured such that physical quantities in a real world, such as the motion state quantities, external forces, and external force moments of a robot, which are measured by sensors, and environmental shapes, are input, and which allows operations for generation of a walking pattern of the robot to be executed in real time on a real machine in such a manner that parameters, such as boundary conditions, external forces, external force moments, and sole tracks on the motion state quantities, can be set is also proposed (for example, refer to JP-A-2004-142095). According to this apparatus, all the operations on the maintenance of balance of a machine body are collected in a single waling pattern operation, so that a waking-generating function and an adaptive control function can be made efficiently compatible with each other, the consistency of dynamic models can be ensured, and any interference between the dynamic models can be eliminated.
Also, a motion control device of a robot which carries out an operation of a stable motion pattern in real time in consideration of both a grounding state and a non-grounding state using the ZMP as a stability discrimination standard is also proposed (for example, refer to the specification of Japanese Patent No. 3599244). According to this device, a dynamic equation with boundary conditions concerning a future center-of-gravity horizontal track of a robot is solved so as to be continuously connected to a current center-of-gravity horizontal position/speed under the condition that a moment around a horizontal axis around a point within a supporting polygon at the time of grounding is zero or a horizontal translational force at the time of non-grounding is zero, a dynamic equation with boundary conditions concerning a future center-of-gravity vertical track of the robot is solved so as to be continuously connected to a current center-of-gravity vertical position/speed under the condition that a vertical translational force acting other than gravity at the time of non-grounding becomes zero, and a motional state at the next time is determined so as to realize the determined center-of-gravity position as a moment around the center-of-gravity moment at the time of non-grounding becomes zero. That is, since the solutions of dynamic equations with boundary conditions concerning a center-of-gravity horizontal position track and a center-of-gravity vertical position track are calculated for every control period, and the motional state of the robot apparatus is determined for every control period while the moment around the center of gravity of the robot apparatus is adjusted, the motion of the robot apparatus can be controlled in real time.
Also, a technique of adopting a linear inverted pendulum mode, which is obtained by further simplifying the ZMP stability discrimination standard, as a standard, is also known (for example, refer to the specification of Japanese Patent Application No. 61-298406, and ‘Real-time Control of Dynamic Bipedal Walking Robot Adopting Linear Inverted Pendulum Mode as Standard’ written by Kajita (Pages 1 to 68, No. 171 of Report issued by Mechanical Engineering Laboratory in 1996)
However, the stabilizer based on the ZMP stability discrimination standard is basically limited to a planar motion (walking) in its applicable scope, and has the precondition that each leg of the robot should not simultaneously touch a group of planes having different normal lines. In other words, general cases outside the scope of the preconditions, such as a case where a robot travels while simultaneously touching a plurality of planes having different normal vectors or a case where a robot floats in a space while hanging down from a horizontal bar cannot be dealt with by the ZMP stability discrimination standard.
Although the concept called overturn stability is introduced as a stability discrimination standard intended for such general cases (for example, refer to Non-Patent Document 3), it does not reach the configuration for a real-time solution.
A solution of performing real-time control by configuring a plurality of stabilizers which are specialized for every precondition, like the case where a robot travels while simultaneously touching a plurality of planes having different normal vectors or the case where a robot floats in a space while hanging down from a horizontal bar, and separately using the stabilizers according to a confronting condition is also considered. In this case, since seamless motion control cannot be performed, the prospect in the development of applications is not good.
Also, if the stabilizers cannot perform real-time processing due to a large amount of calculation, the solution cannot be applied to an application premising the interactivity of robots or characters in a game.